Application wrapper methods and systems

ABSTRACT

Methods and systems for optimally controlling the operation of object oriented computer software applications use what we call “application wrappers”. An application wrapper is a software application that gives programmers the ability to extend their programs&#39; functionality beyond the rigid constraints placed on them by the computer system&#39;s operating system. An application wrapper is associated with each software application stored on the computer system and is loaded when the system is powered up. An object oriented display of the application wrapper is generated for the computer user, which can take almost any identifiable form. Application wrappers provide a computer user more rapid modular access to the functional and data files contained within said software applications, saving computer system resources such as RAM and processing time.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to methods and systems forcontrolling object oriented software applications and, moreparticularly, to methods and systems for optimally controllingfunctionality and access to data files contained within object orientedsoftware applications.

[0003] 2. The Prior Art

[0004] Current software standards narrowly define the functions thatsoftware may perform before an application is started or launched. Allaspects of a program's appearance and behavior within an operatingenvironment are controlled by an operating system. The computer'soperating system thus generally constrains the operations of softwareapplications. Features of a software application can only be accessed bystarting the entire application, which causes the computer to load alarge part of the program, usually in the form of an executable file(“.exe”) together with several smaller files, into the computer's randomaccess memory (“RAM”). This method of running a software application istime consuming and wastes valuable resources of the computer.

[0005] A conventional piece of software that is written to operate underan object oriented operating system, such as Windows® or Windows 95®,must follow narrow guidelines set forth by the operating system vendor.When a computer user loads the software application into the computersystem for the first time, the software application will provide theoperating system with enough information to create a static icon and asimple instruction on how to run the program. The icon that is createdalways remains static and is the only means by which the user can gainaccess to any of the program's features. The operating system associatesthe static icon with a command line that will start the softwareapplication. When a computer user starts the software application byclicking on or selecting the static icon, the operating systemautomatically runs the command line that initiates the softwareapplication. See FIG. 2.

[0006] The command line that the operating system automatically runswhen a user activates the static icon will generally start the softwareapplication's executable file. In turn, the software application'sexecutable file takes control of the entire software application andloads several files associated with that application's features.Unfortunately, many of these files may be directed to certain featuresof the software application which the user may not want to use.Consequently, time and processing power may be wasted by loading fileswhich are unnecessary.

[0007] As an example, a Windows® software application is written andlinked as a program with one or several dynamic link library (“DLL”)files. In a software application written for Windows®, large amounts ofdata must be fully loaded into the operating system and “linked”together. This action requires a lot of RAM, processing power, and timeto complete. In addition, software applications written for theseoperating systems are somewhat cryptic and difficult to install and use.Online help is a frequent solution, but this usually requires thecomputer user to have already loaded the program into the computersystem's main memory and to have started running it before being givenaccess to the help files. If help is offered outside of the application,the computer user must be very knowledgeable about the softwareapplication since he or she must know how to locate and pull up variouskinds of help files. A few examples of these files are Windows® helpfiles (“.HLP”), README.TXT files, and HTML files.

[0008] Configuration information for software applications generallydoes not follow a standard format but is usually very program specific.Usually the configuration information is located within the softwareapplication and can only be accessed by starting the entire application.A few software applications will install a second executable file thatallows modification of the configuration files without starting the mainexecutable file, but this is the exception and not the norm. In thesetypes of software applications, the two executable files runindependently of one another and the user is only allowed access toconfiguration settings. In order to change a simple configurationsetting, for instance, either the entire software application must berunning, or a completely separate software application must be started.This can frustrate a computer user and cause a needless overuse ofcomputer system resources. An example would be, launching an entire mailsystem to turn on an auto-reply message or to forward information.

[0009] Over the years operating systems have added features that make itappear that the software applications are performing more functions. Atypical example of this is animating the mouse pointer while anapplication is loading. These changes are merely additions to thestructure of the program management system found on most operatingsystems or user interfaces and do not represent any increase inflexibility.

[0010] Inflexibility has not previously been considered much of aproblem. However, as computers get more powerful and include morememory, users' expectations for computer and software applicationperformance have dramatically increased. Thus, a need exists forimproved operating capability and greater flexibility in the use ofsoftware applications for object oriented computer systems.

SUMMARY OF THE INVENTION

[0011] The present invention provides methods and systems for moreoptimally controlling object oriented software applications in computersystems and for increasing the flexibility of software applicationsdesigned using object oriented programming. In this invention, an“application wrapper” is incorporated into the computer system to permitselective access to specific functions and data of an object orientedsoftware application without starting the entire software application.Where an application wrapper is incorporated into the design of asoftware application, a programmer has the ability to define theappearance and behavior of the application regardless of the constraintsplaced on the programmer by the computer's operating system. Thus, theuse of an application wrapper avoids the artificial constraints imposedby the operating system, by separating control of the applicationwrapper from the operating system but at the same time establishing andmaintaining a stable interface between the two.

[0012] The present invention also provides application wrappers that arecapable of communicating with the operating system and can create objectoriented displays with graphic capabilities beyond those allowed by theconstraints of the operating system. Computer icons can, with the use ofan application wrapper of the invention, now be designed to includesound, computer animation, and video clips. Furthermore, the use of anapplication wrapper gives a programmer the ability to design softwareapplications that run on a modular basis, thereby using less systemresources when in operation than the present wholesale program loading.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a schematic, block diagram showing a simplified model ofthe manner in which an object oriented software application andapplication wrapper interact within a computer system according to thepresent invention.

[0014]FIG. 2 is a schematic, block diagram of the prior art, showing asimplified model of the manner in which a known object oriented softwareapplication interacts within a computer system.

[0015]FIG. 3 is a schematic, block diagram illustrating in more detailthe manner in which an application wrapper interacts within the computersystem according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0016] Referring now to the drawings, like reference numerals designateidentical or corresponding elements throughout the several views. FIG. 1illustrates a preferred embodiment of the invention including two“application wrappers” 10 and 12 for known software applications 14 and16. An “application wrapper” is a program that runs independently of acomputer's operating system 18 and permits a computer user toselectively access individual functions and data of an object orientedsoftware application without starting the entire software application.The incorporation of an application wrapper into an object orientedcomputer system releases application developers from artificialconstraints placed on them by the computer operating system 18. Each ofthe application wrappers 10 and 12 provides an object oriented method ofoptimally controlling one of the object oriented software applications14 and 16 that operate and coexist with the computer's operating system18.

[0017] In FIG. 1, two application wrappers 10 and 12 are illustrated ina main memory 20 within the computer system to demonstrate that one ormore application wrappers may be used by a computer system and can alsooperate at the same time. Application wrapper A 10 is associated with aspecific software application A 14 in the computer system, andapplication wrapper B 12 is associated with a specific softwareapplication B 16. In a preferred embodiment of the invention eachsoftware application installed on the computer system will be assignedan application wrapper. As depicted, both application wrappers 10 and 12are in communication with the computer's operating system 18 as well aswith the central processing unit (“CPU”) 22. The operating system 18views the application wrappers 10 and 12 as independent programs, andall three cooperate in controlling the CPU 22.

[0018] The operating system 18 is usually loaded into the computersystem and starts running as soon as the computer is powered up andcompletes its system check. The application wrappers 10 and 12 areloaded as soon as the CPU 22 has completed loading the operating system18. Therefore, both of the application wrappers 10 and 12 are loadedwith the operating system 18 into a random access memory (“RAM”) 24 bythe CPU 22 upon powering up. See FIG. 3.

[0019] As depicted in the prior art FIG. 2, known software applications62 and 64 provide enough data to the operating system 18 so that theoperating system 18 can create static icons 26 and 28 on a display 30and a simple instruction that runs software applications 62 and 64. Theinstruction that causes one of the software applications 62 and 64 tostart running on the computer system is activated when one of the staticicons 26 or 28 on the display 30 is selected by a computer user throughan input device 32, such as a keyboard, touch screen, or mouse. In thistype of environment, all aspects of a software application's appearanceand behavior are rigidly defined by the features and limitations of theoperating system 18.

[0020] Referring once again to FIG. 1, in the present invention, oncethe application wrappers 10 and 12 have been started, object orienteddisplays of the application wrappers 10 and 12 are generated on thedisplay 30. The application wrappers 10 and 12 can be shown on thedisplay 30 using one of several methods. The preferred method ofoptimally displaying the application wrappers 10 and 12 is to createsmall icons within a program manager of the computer system that can beeasily seen and accessed. The icons that are used to represent theapplication wrappers 10 and 12 on the display 30 can change appearancein response to computer user inputs via the input device 32. Unlike thestatic icons 26 and 28 used in the prior art methods depicted in FIG. 2,the identifying means and icons of an application wrapper 10 and 12 cantake the form of anything that a software application's programmerdesires to use to attract the attention of the computer user to thatparticular software application 14 and 16. These identifying means andicons can take the form of sound messages, computer animation, static orvideo images, or a combination of these. Therefore, software applicationdevelopers using the application wrappers 10 and 12 as depicted in FIG.1 are not bound by the constraints of a conventional computer operatingsystem 18.

[0021] A further benefit that the application wrappers 10 and 12 canprovide to computer programmers is the ability to allow computer usersto interface on a modular basis with the application wrappers 10 and 12and their associated software applications 14 and 16. For example, oncesoftware application A 14 and all of its dependent parts is loaded intothe computer system's main memory 20, application wrapper A 10 assignedto software application A 14 allows the user to access data files andcontrol the functionality of software application A 14. All of theaccess and control can occur without the actual software application A14 ever being loaded into the computer system's RAM 24. The softwareapplication B 16 on the computer system would be controlled by itsapplication wrapper B 12 in much the same manner. As previously stated,in preferred embodiments of the invention each of the softwareapplications 14 and 16 installed on a computer system is provided withits own respective application wrapper 10 or 12. Thus, by usingapplication wrappers 10 and 12, valuable computer resources, such asprocessor time and memory, are conserved and made available for otheruses.

[0022] Once activated by a computer user, each of the applicationwrappers 10 and 12 can be used separately and selectively in a modularformat to access data files 36, 38, help files 40, 42, configurationfiles 46, 48 and/or other files contained within the associated softwareapplication 14 or 16. The application wrappers 10 and 12 can also beused to control the functionality 44, 50 of the software applications 14and 16 in a modular format. Software applications 14 and 16 generallyhave online help files 40, 42 associated with the software applications14 and 16. Application wrapper A 10 can, in response to computer userinput to the input device 32, provide access to the online help files 40of software application A 14 without ever loading any other piece of theactual software application A 14. In addition, application wrapper A 10gives a computer user the ability to access certain functions 48 thatsoftware application A 14 can perform on a modular basis. Further,application wrapper A 10 can be used to provide access to configurationfiles 44, help files 40, and data files 36 of the software application A14 in a modular format without ever having to load the entire softwareapplication A 14. Likewise, application wrapper B 12 can be used to gainmodular access to help files 42, configuration files 46, data files 38,and pieces of functionality 50 of software application B 16 withouthaving to load the entire software application.

[0023] Prior art methods of controlling software applications, shown inFIG. 2, require software application A 62 to be loaded into the computersystem's RAM 24 before a computer user can gain access to any data files66, functionality 68, configuration files 70, or help files 72 ofsoftware application A 62. In addition, to access any of the data files76, functionality 78, configuration files 74, and help files 80 ofsoftware application B 64, that software application B 64 wouldsimilarly have to be loaded into the computer system's RAM 24. Theconfiguration and help files for these prior art software applicationsare usually either tightly bound into the software application orcomprise an entirely different program. Recently, the help informationfor some software applications has been separated into different filesfrom the software application in order for the user to be able to viewthem separately from the software application. However, if the softwareapplication does not automatically configure this option when installed,the computer user is required to know the exact location and names ofthe help files and is also required to invoke a “reader” program thatunderstands the file format.

[0024] The ability of methods and systems using application wrappers 10and 12 to run software applications 14 and 16 on a modular basisconserves computer system resources and gives programmers the ability toinclude more features in software applications 14 and 16.

[0025] As shown in FIG. 3, in operation the operating system 18 andapplication wrappers 10 and 12, are loaded into the computer system'sRAM 24. The system generates one or more identifying means or icons 52,54, 56, 58 that can be used to identify and gain access to any one ormore of the files associated with application wrapper A 10 and softwareapplication A 14 and/or application wrapper B 12 and softwareapplication B 16. As indicated above, these identifying means can bestatic or animated, possibly sequentially, and may have associatedsounds. In response to computer user input to the input device 32selecting one of the application wrapper's icons 52, 54, 56, 58 the CPU22 loads the selected file or function from the selected softwareapplication 14 or 16 into the computer system's RAM 24.

[0026] In addition, as shown in FIG. 3, software applications 14 and 16can comprise several smaller modules or files that reside in main memory20 until called into operation by computer user input through the inputdevice 32 to the application wrappers 10 and 12 in selecting one or moreidentifying means 52, 54, 56, 58. Programming with application wrappers10 and 12 thus allows software applications 14 and 16 to use smallmodules, thereby reducing the size of files that need to be loaded bythe CPU 22. A further benefit of using smaller file sizes to performdifferent tasks associated with software applications 14 and 16 isrealized because less RAM 24 is needed to store and run the softwareapplications 14 and 16.

[0027] The invention also provides a stable interface between theapplication wrappers 10 and 12 and the operating system 18 so thatchanges may be made to either without affecting the functionality of theother. The application wrappers 10 and 12 are programmed in such amanner as to communicate with the operating system 18 without affectingthe manner in which the operating system 18 runs on the computer system. Likewise, each of software applications 14 and 16 can be providedwith a link to the operating system 18 which is capable of notifying thesoftware applications 14 and 16 of changes to the operating system 18.For instance, software applications 14 and 16 could be notified of suchchanges in the operating system 18 as a power up or down of the computersystem. Another feature of the present invention is the ability toprovide a link between the software applications 14 and 16 and theoperating system 18 that ascertains if an object contained in a storagedevice is one that the software applications 14 and 16 can interpret.This gives the computer user the ability to quickly pull up and viewfiles the software applications 14 and 16 can interpret. Softwareapplication A 14 and software application B 16 are capable of beinglinked together so that each software application 14 and 16 can call upthe functionality of the other to view and manipulate data contained inan object, or the objects can be programmed and stored using a commonfile format.

[0028] Some of the functionality that application wrappers 10 and 12 cancontrol in response to computer user input through the input device 32are the starting and exiting of the actual software applications 14 and16. Application wrappers 10 and 12 can be programmed to communicate withother software applications on the computer system regardless of whetherthe other software applications use application wrappers. In addition,application wrappers 10 and 12 can also be programmed to automaticallydelete a software application 14 or 16 and all of its dependent objectsfrom the computer system's operating system 18 and main memory 20 inresponse to computer user inputs to the input device 32.

[0029] Each application wrapper 10 and 12 contained on a computer systemis associated with a common application wrapper database. 60, as shownin FIG. 3.

[0030] The common application wrapper database 60 may be accessed by thecomputer user to change configuration settings within each of theapplication wrappers 10 and 12. The common application wrapper database60 can also contain information that is common to software applicationsA 14 and B 16 in the computer system, and each application wrapper 10and 12 can share that information. Some of the data and configurationfiles that may be accessed through the common application wrapperdatabase 60 are the computer user's personal profile, a specificsoftware application's bubble help, settings to control the appearanceand behavior of a software application's icon, an option to start any ofthe software applications 14 and 16 in a secure mode, and limits on theallowable memory usage and priorities of the software applications 14and 16.

[0031] One exemplary embodiment of the invention comprises acommunications device or system, such as a cellular telephone. Such acommunications device can comprise a small housing carrying a keyboard,an LCD display, a microprocessor, random access memory, more memory, andone or more application wrappers and object oriented softwareapplications for providing one or more user selected functions, such asphone number storage, retrieval and dialing, calculation, global timeinput, message storage and retrieval, Internet interfacing and the like,and telephone and cellular communication components. Such a devicepermits a user to carry out a phone call while taking notes, enteringinformation into memory, performing complex calculations, makingdrawings, and any other application that can be provided by software.

[0032] The application wrappers 10 and 12 of the present invention allowa computer user to access and use one or more specific files, such asthe help files, of an object oriented software application in thecomputer system and to enjoy the benefits of a more user-friendlyinterface with his computer system.

[0033] The invention provides computer programmers the ability to createobject oriented software applications that are not artificiallyconstrained by the computer's operating system and can be rapidly andeasily used. By using an application wrapper as set forth above, thecomputer programmer can provide optimal control of his softwareapplication to a computer user.

[0034] The use of application wrappers 10 and 12 is advantageous for anycomputer system. Preferred embodiments of the present invention can beinstalled on personal digital assistants to minimize use of computersystem resources while obtaining functionality that was not previouslypossible due to the size constraints and limited storage capacity ofsmaller hand held computer systems. Application wrappers providebenefits to any computer system due to ease of use and the functionalitythat can be included in software applications now that were previouslybarred by constraints of computer operating systems.

[0035] While the invention has been described in its currently bestknown mode and embodiment, other modes and embodiments of the inventionwill be apparent to those skilled in the art and the invention islimited only by the scope of the claims that follow. For example, whilethe preferred embodiments illustrate systems incorporating pluralapplication wrappers and software application, methods and systems ofthe invention can incorporate only a single application wrapper.

What is claimed is:
 1. A method of controlling object oriented computersoftware applications, comprising: providing at least one applicationwrapper; assigning at least one software application to each said atleast one application wrapper; providing a stable interface between anoperating system and each said application wrapper so that changes maybe made to either without affecting the functionality of the other;generating a display of each said application wrapper for a computeruser; accessing data contained in each said software application in amodular format in response to computer user inputs to each saidapplication wrapper; and controlling the functionality of each saidsoftware application in a modular format in response to computer userinputs to each said application wrapper.
 2. The method of controllingobject oriented computer software applications of claim 1, furthercomprising the step of starting at least one application wrapper uponpower up of the computer system.
 3. The method of controlling objectoriented computer software applications of claim 1, further comprisingthe step of providing a link between said operating system and each saidsoftware application wherein the operating system can ascertain if anobject is one that each said software application can interpret.
 4. Themethod of controlling object oriented computer software applications ofclaim 1, further comprising the step of providing a link between saidoperating system and each said software application for notifying eachsaid software application of changes in the operating system.
 5. Themethod of controlling object oriented computer software applications ofclaim 4, wherein said link notifies each said software application of apending power down of the computer system.
 6. The method of controllingobject oriented computer software applications of claim 4, wherein saidlink notifies each said software application of a power up of thecomputer system.
 7. The method of controlling object oriented computersoftware applications of claim 1, further comprising the step ofgenerating at least one identifying means on a display for assisting thecomputer user in opening and gaining access to each said applicationwrapper.
 8. The method of controlling object oriented computer softwareapplications of claim 7, wherein said identifying means is displayed onsaid display by an animated icon.
 9. The method of controlling objectoriented computer software applications of claim 7, wherein saididentifying means is selected from the group including sound, computeranimation, static images and video images.
 10. The method of controllingobject oriented computer software applications of claim 1, furthercomprising the step of generating a display of at least one help file ofsaid software applications in response to computer user inputs to eachsaid application wrapper.
 11. The method of controlling object orientedcomputer software applications of claim 1, wherein said data containedwithin each said software application comprises configuration settings.12. The method of controlling object oriented computer softwareapplications of claim 1, further comprising the step of starting eachsaid software application in response to computer user inputs to saidapplication wrappers.
 13. The method of controlling object orientedcomputer software applications of claim 1, further comprising the stepof exiting each said software application in response to computer userinputs to said application wrappers.
 14. The method of controllingobject oriented computer software applications of claim 1, furthercomprising the step of communicating with other software applications onthe computer system in response to computer user inputs to saidapplication wrappers.
 15. The method of controlling object orientedcomputer software applications of claim 1, further comprising the stepof deleting said software applications and all of their dependentobjects from the computer system in response to computer user inputs tosaid application wrappers.
 16. The method of controlling object orientedcomputer software applications of claim 1, further comprising the stepof linking a plurality of said software applications together so that anobject is visible within each said software application withoutaffecting the functionality of any software application.
 17. The methodof controlling object oriented computer software applications of claim1, further comprising the step of associating each application wrapperstored within the computer system to a common application wrapperdatabase.
 18. The method of controlling object oriented computersoftware applications of claim 17, wherein said common applicationwrapper database is accessible by the computer user through an inputdevice to change configuration settings and to access select data filesassociated with each application wrapper.
 19. The method of controllingobject oriented computer software applications of claim 18, wherein saidconfiguration settings and data files' include at least one databasefile selected from the group comprising a computer user's personalprofile, a specific software application's bubble help, a plurality ofsettings to control an application wrapper's icon appearance andbehavior, an option to launch the software application in a secureprocess, and a limit on said software applications allowable memoryusage and priority.
 20. A method of controlling object oriented computersoftware applications, comprising: providing at least one applicationwrapper; assigning at least one software application to each saidapplication wrapper; providing a stable interface between an operatingsystem and each said application wrapper so that changes may be made toeither without affecting the functionality of the other; generating adisplay of each said application wrapper for a computer user; andaccessing data contained in said software applications in a modularformat in response to computer user inputs to each said applicationwrapper.
 21. The method of controlling object oriented computer softwareapplications of claim 20, further comprising the step of starting atleast one application wrapper upon power up of the computer system. 22.The method of controlling object oriented computer software applicationsof claim 20, further comprising the step of providing a link betweensaid operating system and each said software application wherein theoperating system can ascertain if an object is one that each saidsoftware application can interpret.
 23. The method of controlling objectoriented computer software applications of claim 20, further comprisingthe step of providing a link between said operating system and each saidsoftware application for notifying each said software application ofchanges in the operating system.
 24. The method of controlling objectoriented computer software applications of claim 23, wherein said linknotifies each said software application of a pending power down of thecomputer system.
 25. The method of controlling object oriented computersoftware applications of claim 23, wherein said link notifies each saidsoftware application of a power up of the computer system.
 26. Themethod of controlling object oriented computer software applications ofclaim 20, further comprising the step of generating at least oneidentifying means on a display for assisting the computer user inopening and gaining access to each said application wrapper.
 27. Themethod of controlling object oriented computer software applications ofclaim 26, wherein said identifying means is displayed on said display byan animated icon.
 28. The method of controlling object oriented computersoftware applications of claim 26, wherein said identifying means isselected from the group including sound, computer animation, staticimages and video images.
 29. The method of controlling object orientedcomputer software applications of claim 20, further comprising the stepof generating a display of at least one help file of said softwareapplications in response to computer user inputs to each saidapplication wrapper.
 30. The method of controlling object orientedcomputer software applications of claim 20, wherein said data containedwithin each said software application comprises configuration settings.31. The method of controlling object oriented computer softwareapplications of claim 20, further comprising the step of communicatingwith other software applications on the computer system in response tocomputer user inputs to said application wrappers.
 32. The method ofcontrolling object oriented computer software applications of claim 20,further comprising the step of deleting said software applications andall of their dependent objects from the computer system in response tocomputer user inputs to said application wrappers.
 33. The method ofcontrolling object oriented computer software applications of claim 20,further comprising the step of linking a plurality of said softwareapplications together so that an object is visible within each saidsoftware application without affecting the functionality of any of saidsoftware application.
 34. The method of controlling object orientedcomputer software applications of claim 20, further comprising the stepof associating each application wrapper stored within the computersystem to a common application wrapper database.
 35. The method ofcontrolling object oriented computer software applications of claim 34,wherein said common application wrapper database is accessible by thecomputer user through an input device to change configuration settingsand to access select data files associated with each applicationwrapper.
 36. The method of controlling object oriented computer softwareapplications of claim 35, wherein said configuration settings and datafiles include at least one database file selected from the groupcomprising a computer user's personal profile, a specific softwareapplication's bubble help, a plurality of settings to control anapplication wrapper=s icon appearance and behavior, an option to launchthe software application in a secure process, and a limit on saidsoftware applications allowable memory usage and priority.
 37. A methodof controlling object oriented computer software applications,comprising: providing at least one application wrapper; assigning atleast one software application to each said application wrapper;providing a stable interface between an operating system and each saidapplication wrapper so that changes may be made to either withoutaffecting the functionality of the other; generating a display of eachsaid application wrapper for a computer user; and controlling thefunctionality of each said software application in a modular format inresponse to computer user inputs to each said application wrapper. 38.The method of controlling object oriented computer software applicationsof claim 37, further comprising the step of starting at least oneapplication wrapper upon power up of the computer system.
 39. The methodof controlling object oriented computer software applications of claim37, further comprising the step of providing a link between saidoperating system and each said software application wherein theoperating system can ascertain if an object is one that each saidsoftware application can interpret.
 40. The method of controlling objectoriented computer software applications of claim 37, further comprisingthe step of providing a link between said operating system and each saidsoftware application for notifying each said software application ofchanges in the operating system.
 41. The method of controlling objectoriented computer software applications of claim 40, wherein said linknotifies each said software application of a pending power down of thecomputer system.
 42. The method of controlling object oriented computersoftware applications of claim 40, wherein said link notifies each saidsoftware application of a power up of the computer system.
 43. Themethod of controlling object oriented computer software applications ofclaim 37, further comprising the step of generating at least oneidentifying means on a display for assisting the computer user inopening and gaining access to each said application wrapper.
 44. Themethod of controlling object oriented computer software applications ofclaim 43, wherein said identifying means is displayed on said display byan animated icon.
 45. The method of controlling object oriented computersoftware applications of claim 43, wherein said identifying means isselected from the group including sound, computer animation, staticimages and video images.
 46. The method of controlling object orientedcomputer software applications of claim 37, further comprising the stepof generating a display of at least one help file of said, softwareapplications in response to computer user inputs to each saidapplication wrapper.
 47. The method of controlling object orientedcomputer software applications of claim 37, further comprising the stepof starting each said software application in response to computer userinputs to said application wrappers.
 48. The method of controllingobject oriented computer software applications of claim 37, furthercomprising the step of exiting each said software application inresponse to computer user inputs to said application wrappers.
 49. Themethod of controlling object oriented computer software applications ofclaim 37, further comprising the step of communicating with othersoftware applications on the computer system in response to computeruser inputs to said application wrappers.
 50. The method of controllingobject oriented computer software applications of claim 37, furthercomprising the step of deleting said software applications and all oftheir dependent objects from the computer system in response to computeruser inputs to said application wrappers.
 51. The method of controllingobject oriented computer software applications of claim 37, furthercomprising the step of linking a plurality of said software applicationstogether so that an object is visible within each said softwareapplication without affecting the functionality of any softwareapplication.
 52. The method of controlling object oriented computersoftware applications of claim 37, further comprising the step ofassociating each application wrapper stored within the computer systemto a common application wrapper database.
 53. The method of controllingobject oriented computer software applications of claim 52, wherein saidcommon application wrapper database is accessible by the computer userthrough an input device to change configuration settings and to accessselect data files associated with each application wrapper.
 54. Themethod of controlling object oriented computer software applications ofclaim 53, wherein said configuration settings and data files may includeat least one database file selected from the group comprising a computeruser's personal profile, a specific software application's bubble help,a plurality of settings to control an application wrapper=s iconappearance and behavior, an option to launch the software application ina secure process, and a limit on said software applications allowablememory usage and priority.
 55. In a improved method of handling theoperation of object oriented software applications in a computer system,the improvement comprising: providing at least one application wrapper;assigning at least one software application to each said applicationwrapper; and providing modular access to each said software applicationin response to computer user input to each said application wrapperwithout the necessity of starting the entire software application. 56.The improved method of handling the operation of object orientedsoftware applications in a computer system of claim 55, wherein at leastone application wrapper is loaded upon power up of the computer system.57. The improved method of handling the operation of object orientedsoftware applications in a computer system of claim 55, a furtherimprovement comprising providing modular access to the functionality ofeach said software application in response to computer user input toeach said application wrapper without the necessity of starting theentire software application.
 58. The improved method of handling theoperation of object oriented software applications in a computer systemof claim 55, a further improvement comprising providing modular accessto at least one data file of each said software application in responseto computer user input to each said application wrapper without thenecessity of starting the entire software application.
 59. The improvedmethod of handling the operation of object oriented softwareapplications in a computer system of claim 55, a further improvementcomprising generating an identifying means of each said applicationwrapper on a display.
 60. The improved method of handling the operationof object oriented software applications in a computer system of claim59, wherein said identifying means is generated on a display selectedfrom the group including sound, computer animation, static images andvideo images.
 61. The improved method of handling the operation ofobject oriented software applications in a computer system of claim 55,a further improvement comprising generating a display of each saidapplication wrapper in response to selection of said identifying meansfrom the computer user.
 62. In an object oriented computer systemcomprising a central processing unit, program and data storage means,display means, an object oriented operating system, computer user inputmeans, and at least one object oriented software application including aplurality of sets of functional instructions or data files for use bysaid central processing unit, the improvement comprising at least oneapplication wrapper means for generating an output on said display meansand for sending instructions to the central processing unit in responseto computer user inputs through an input device to said applicationwrapper, means for retrieving at least one set of the plurality of setsof functional instructions and data files, and means for storing said atleast one set of functional instructions and data files in random accessmemory for use by the computer user.
 63. A computer system includingcontrolled object oriented software applications, the system comprising:a central processing unit; means for storing and retrieving programs anddata connected with said central processing unit; an operating systemstored in said means for storing and retrieving programs and data; aninput device connected with said central processing unit; a displayconnected with said central processing unit; at least one softwareapplication stored in said means for storing and retrieving programs anddata; and at least one application wrapper associated with each saidsoftware application for providing modular access to each said softwareapplication.
 64. The computer system including controlled objectoriented software applications of claim 63, wherein each saidapplication wrapper provides modular access to at least one data file ofeach said software application.
 65. The computer system includingcontrolled object oriented software applications of claim 63, whereineach said application wrapper can provide modular access to thefunctionality of each said software application.
 66. The computer systemincluding controlled object oriented software applications of claim 63,wherein said computer system is adapted for operating a communicationsdevice.
 67. The computer system including controlled object orientedsoftware applications of claim 66, wherein said communications deviceincludes a cellular phone.